package May._07.work;

import java.util.ArrayList;
import java.util.List;
import java.util.function.Function;
import java.util.function.Predicate;
import java.util.stream.Collectors;

public class Main {
    public static void main(String[] args) {
        List<User> userList = new ArrayList<>(10); // 初始化ArrayList，并设置初始容量为10（这不是必需的，但可以提高性能）

        // 添加10个User对象到userList中
        for (int i = 0; i < 10; i++) {
            User user = new User(i + 1, "user" + (i + 1), "password" + (i + 1), 20 + i); // 这里只是示例数据
            userList.add(user);
        }

        // 输出userList中的User对象
        for (User user : userList) {
            System.out.println(user);
        }

        List<User> age25 = userList.stream()
                .filter(new Predicate<User>() {
                    @Override
                    public boolean test(User user) {
                        return user.getAge() < 25;
                    }
                })
                .collect(Collectors.toList());
        List<String> strAge = age25.stream()
                .map(new Function<User, String>() {
                    @Override
                    public String apply(User user) {
                        return user.toString();
                    }
                })
                .collect(Collectors.toList());
        System.out.println("strAge = " + strAge);
    }


}
